146 research outputs found

    Practical Distance Functions for Path-Planning in Planar Domains

    Full text link
    Path planning is an important problem in robotics. One way to plan a path between two points x,yx,y within a (not necessarily simply-connected) planar domain Ω\Omega, is to define a non-negative distance function d(x,y)d(x,y) on Ω×Ω\Omega\times\Omega such that following the (descending) gradient of this distance function traces such a path. This presents two equally important challenges: A mathematical challenge -- to define dd such that d(x,y)d(x,y) has a single minimum for any fixed yy (and this is when x=yx=y), since a local minimum is in effect a "dead end", A computational challenge -- to define dd such that it may be computed efficiently. In this paper, given a description of Ω\Omega, we show how to assign coordinates to each point of Ω\Omega and define a family of distance functions between points using these coordinates, such that both the mathematical and the computational challenges are met. This is done using the concepts of \emph{harmonic measure} and \emph{ff-divergences}. In practice, path planning is done on a discrete network defined on a finite set of \emph{sites} sampled from Ω\Omega, so any method that works well on the continuous domain must be adapted so that it still works well on the discrete domain. Given a set of sites sampled from Ω\Omega, we show how to define a network connecting these sites such that a \emph{greedy routing} algorithm (which is the discrete equivalent of continuous gradient descent) based on the distance function mentioned above is guaranteed to generate a path in the network between any two such sites. In many cases, this network is close to a (desirable) planar graph, especially if the set of sites is dense

    Theory and applications of bijective barycentric mappings

    Get PDF
    Barycentric coordinates provide a convenient way to represent a point inside a triangle as a convex combination of the triangle's vertices, and to linearly interpolate data given at these vertices. Due to their favourable properties, they are commonly applied in geometric modelling, finite element methods, computer graphics, and many other fields. In some of these applications it is desirable to extend the concept of barycentric coordinates from triangles to polygons. Several variants of such generalized barycentric coordinates have been proposed in recent years. An important application of barycentric coordinates consists of barycentric mappings, which allow to naturally warp a source polygon to a corresponding target polygon, or more generally, to create mappings between closed curves or polyhedra. The principal practical application is image warping, which takes as input a control polygon drawn around an image and smoothly warps the image by moving the polygon vertices. A required property of image warping is to avoid fold-overs in the resulting image. The problem of fold-overs is a manifestation of a larger problem related to the lack of bijectivity of the barycentric mapping. Unfortunately, bijectivity of such barycentric mappings can only be guaranteed for the special case of warping between convex polygons or by triangulating the domain and hence renouncing smoothness. In fact, for any barycentric coordinates, it is always possible to construct a pair of polygons such that the barycentric mapping is not bijective. In the first part of this thesis we illustrate three methods to achieve bijective mappings. The first method is based on the intuition that, if two polygons are sufficiently close, then the mapping is close to the identity and hence bijective. This suggests to ``split'' the mapping into several intermediate mappings and to create a composite barycentric mapping which is guaranteed to be bijective between arbitrary polygons, polyhedra, or closed planar curves. We provide theoretical bounds on the bijectivity of the composite mapping related to the norm of the gradient of the coordinates. The fact that the bound depends on the gradient implies that these bounds exist only if the gradient of the coordinates is bounded. We focus on mean value coordinates and analyse the behaviour of their directional derivatives and gradient at the vertices of a polygon. The composition of barycentric mappings for closed planar curves leads to the problem of blending between two planar curves. We suggest to solve it by linearly interpolating the signed curvature and then reconstructing the intermediate curve from the interpolated curvature values. However, when both input curves are closed, this strategy can lead to open intermediate curves. We present a new algorithm for solving this problem, which finds the closed curve whose curvature is closest to the interpolated values. Our method relies on the definition of a suitable metric for measuring the distance between two planar curves and an appropriate discretization of the signed curvature functions. The second method to construct smooth bijective mappings with prescribed behaviour along the domain boundary exploits the properties of harmonic maps. These maps can be approximated in different ways, and we discuss their respective advantages and disadvantages. We further present a simple procedure for reducing their distortion and demonstrate the effectiveness of our approach by providing examples. The last method relies on a reformulation of complex barycentric mappings, which allows us to modify the ``speed'' along the edges to create complex bijective mappings. We provide some initial results and an optimization procedure which creates complex bijective maps. In the second part we provide two main applications of bijective mapping. The first one is in the context of finite elements simulations, where the discretization of the computational domain plays a central role. In the standard discretization, the domain is triangulated with a mesh and its boundary is approximated by a polygon. We present an approach which combines parametric finite elements with smooth bijective mappings, leaving the choice of approximation spaces free. This approach allows to represent arbitrarily complex geometries on coarse meshes with curved edges, regardless of the domain boundary complexity. The main idea is to use a bijective mapping for automatically warping the volume of a simple parametrization domain to the complex computational domain, thus creating a curved mesh of the latter. The second application addresses the meshing problem and the possibility to solve finite element simulations on polygonal meshes. In this context we present several methods to discretize the bijective mapping to create polygonal and piece-wise polynomial meshes

    Analysis and new constructions of generalized barycentric coordinates in 2D

    Get PDF
    Different coordinate systems allow to uniquely determine the position of a geometric element in space. In this dissertation, we consider a coordinate system that lets us determine the position of a two-dimensional point in the plane with respect to an arbitrary simple polygon. Coordinates of this system are called generalized barycentric coordinates in 2D and are widely used in computer graphics and computational mechanics. There exist many coordinate functions that satisfy all the basic properties of barycentric coordinates, but they differ by a number of other properties. We start by providing an extensive comparison of all existing coordinate functions and pointing out which important properties of generalized barycentric coordinates are not satisfied by these functions. This comparison shows that not all of existing coordinates have fully investigated properties, and we complete such a theoretical analysis for a particular one-parameter family of generalized barycentric coordinates for strictly convex polygons. We also perform numerical analysis of this family and show how to avoid computational instabilities near the polygon’s boundary when computing these coordinates in practice. We conclude this analysis by implementing some members of this family in the Computational Geometry Algorithm Library. In the second half of this dissertation, we present a few novel constructions of non-negative and smooth generalized barycentric coordinates defined over any simple polygon. In this context, we show that new coordinates with improved properties can be obtained by taking convex combinations of already existing coordinate functions and we give two examples of how to use such convex combinations for polygons without and with interior points. These new constructions have many attractive properties and perform better than other coordinates in interpolation and image deformation applications

    Secure Data Hiding for Contact Tracing

    Full text link
    Contact tracing is an effective tool in controlling the spread of infectious diseases such as COVID-19. It involves digital monitoring and recording of physical proximity between people over time with a central and trusted authority, so that when one user reports infection, it is possible to identify all other users who have been in close proximity to that person during a relevant time period in the past and alert them. One way to achieve this involves recording on the server the locations, e.g. by reading and reporting the GPS coordinates of a smartphone, of all users over time. Despite its simplicity, privacy concerns have prevented widespread adoption of this method. Technology that would enable the "hiding" of data could go a long way towards alleviating privacy concerns and enable contact tracing at a very large scale. In this article we describe a general method to hide data. By hiding, we mean that instead of disclosing a data value x, we would disclose an "encoded" version of x, namely E(x), where E(x) is easy to compute but very difficult, from a computational point of view, to invert. We propose a general construction of such a function E and show that it guarantees perfect recall, namely, all individuals who have potentially been exposed to infection are alerted, at the price of an infinitesimal number of false alarms, namely, only a negligible number of individuals who have not actually been exposed will be wrongly informed that they have

    Processing mesh animations: from static to dynamic geometry and back

    Get PDF
    Static triangle meshes are the representation of choice for artificial objects, as well as for digital replicas of real objects. They have proven themselves to be a solid foundation for further processing. Although triangle meshes are handy in general, it may seem that their discrete approximation of reality is a downside. But in fact, the opposite is true. The approximation of the real object's shape remains the same, even if we willfully change the vertex positions in the mesh, which allows us to optimize it in this way. Due to modern acquisition methods, such a step is always beneficial, often even required, prior to further processing of the acquired triangle mesh. Therefore, we present a general framework for optimizing surface meshes with respect to various target criteria. Because of the simplicity and efficiency of the setup it can be adapted to a variety of applications. Although this framework was initially designed for single static meshes, the application to a set of meshes is straightforward. For example, we convert a set of meshes into compatible ones and use them as basis for creating dynamic geometry. Consequently, we propose an interpolation method which is able to produce visually plausible interpolation results, even if the compatible input meshes differ by large rotations. The method can be applied to any number of input vertex configurations and due to the utilization of a hierarchical scheme, the approach is fast and can be used for very large meshes. Furthermore, we consider the opposite direction. Given an animation sequence, we propose a pre-processing algorithm that considerably reduces the number of meshes required to describe the sequence, thus yielding a compact representation. Our method is based on a clustering and classification approach, which can be utilized to automatically find the most prominent meshes of the sequence. The original meshes can then be expressed as linear combinations of these few representative meshes with only small approximation errors. Finally, we investigate the shape space spanned by those few meshes and show how to apply different interpolation schemes to create other shape spaces, which are not based on vertex coordinates. We conclude with a careful analysis of these shape spaces and their usability for a compact representation of an animation sequence

    Efficient multi-bounce lightmap creation using GPU forward mapping

    Get PDF
    Computer graphics can nowadays produce images in realtime that are hard to distinguish from photos of a real scene. One of the most important aspects to achieve this is the interaction of light with materials in the virtual scene. The lighting computation can be separated in two different parts. The first part is concerned with the direct illumination that is applied to all surfaces lit by a light source; algorithms related to this have been greatly improved over the last decades and together with the improvements of the graphics hardware can now produce realistic effects. The second aspect is about the indirect illumination which describes the multiple reflections of light from each surface. In reality, light that hits a surface is never fully absorbed, but instead reflected back into the scene. And even this reflected light is then reflected again and again until its energy is depleted. These multiple reflections make indirect illumination very computationally expensive. The first problem regarding indirect illumination is therefore, how it can be simplified to compute it faster. Another question concerning indirect illumination is, where to compute it. It can either be computed in the fixed image that is created when rendering the scene or it can be stored in a light map. The drawback of the first approach is, that the results need to be recomputed for every frame in which the camera changed. The second approach, on the other hand, is already used for a long time. Once a static scene has been set up, the lighting situation is computed regardless of the time it takes and the result is then stored into a light map. This is a texture atlas for the scene in which each surface point in the virtual scene has exactly one surface point in the 2D texture atlas. When displaying the scene with this approach, the indirect illumination does not need to be recomputed, but is simply sampled from the light map. The main contribution of this thesis is the development of a technique that computes the indirect illumination solution for a scene at interactive rates and stores the result into a light atlas for visualizing it. To achieve this, we overcome two main obstacles. First, we need to be able to quickly project data from any given camera configuration into the parts of the texture that are currently used for visualizing the 3D scene. Since our approach for computing and storing indirect illumination requires a huge amount of these projections, it needs to be as fast as possible. Therefore, we introduce a technique that does this projection entirely on the graphics card with a single draw call. Second, the reflections of light into the scene need to be computed quickly. Therefore, we separate the computation into two steps, one that quickly approximates the spreading of the light into the scene and a second one that computes the visually smooth final result using the aforementioned projection technique. The final technique computes the indirect illumination at interactive rates even for big scenes. It is furthermore very flexible to let the user choose between high quality results or fast computations. This allows the method to be used for quickly editing the lighting situation with high speed previews and then computing the final result in perfect quality at still interactive rates. The technique introduced for projecting data into the texture atlas is in itself highly flexible and also allows for fast painting onto objects and projecting data onto it, considering all perspective distortions and self-occlusions

    Subdivision schemes for curve design and image analysis

    Get PDF
    Subdivision schemes are able to produce functions, which are smooth up to pixel accuracy, in a few steps through an iterative process. They take as input a coarse control polygon and iteratively generate new points using some algebraic or geometric rules. Therefore, they are a powerful tool for creating and displaying functions, in particular in computer graphics, computer-aided design, and signal analysis. A lot of research on univariate subdivision schemes is concerned with the convergence and the smoothness of the limit curve, especially for schemes where the new points are a linear combination of points from the previous iteration. Much less is known for non-linear schemes: in many cases there are only ad hoc proofs or numerical evidence about the regularity of these schemes. For schemes that use a geometric construction, it could be interesting to study the continuity of geometric entities. Dyn and Hormann propose sufficient conditions such that the subdivision process converges and the limit curve is tangent continuous. These conditions can be satisfied by any interpolatory scheme and they depend only on edge lengths and angles. The goal of my work is to generalize these conditions and to find a sufficient constraint, which guarantees that a generic interpolatory subdivision scheme gives limit curves with continuous curvature. To require the continuity of the curvature it seems natural to come up with a condition that depends on the difference of curvatures of neighbouring circles. The proof of the proposed condition is not completed, but we give a numerical evidence of it. A key feature of subdivision schemes is that they can be used in different fields of approximation theory. Due to their well-known relation with multiresolution analysis they can be exploited also in image analysis. In fact, subdivision schemes allow for an efficient computation of the wavelet transform using the filterbank. One current issue in signal processing is the analysis of anisotropic signals. Shearlet transforms allow to do it using the concept of multiple subdivision schemes. One drawback, however, is the big number of filters needed for analysing the signal given. The number of filters is related to the determinant of the expanding matrix considered. Therefore, a part of my work is devoted to find expanding matrices that give a smaller number of filters compared to the shearlet case. We present a family of anisotropic matrices for any dimension d with smaller determinant than shearlets. At the same time, these matrices allow for the definition of a valid directional transform and associated multiple subdivision schemes
    • …
    corecore